home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / First Tutorial / Invention No 4 < prev    next >
Lisp/Scheme  |  1998-10-26  |  2KB  |  103 lines

  1. ; Invention No 4 
  2.  
  3. (create-tonality clusters '(c 3 c# 3 f 3 f# 3 g 3 b 3))
  4. (create-tonality spaces '(c 3 c# 3 d# 3 f# 3 b 3 f 4 c 4 g# 4 e 5))
  5.  
  6. (setq chord1 (activate-tonality (clusters c 5)))
  7. (setq chord2 (activate-tonality (clusters c# 5)))
  8. (setq chord3 (activate-tonality (clusters f# 3)))
  9.  
  10. (setq tonal (activate-tonality (spaces c 3)))
  11. (setq tonal1 (activate-tonality (spaces c 5 )))
  12.  
  13. (setq row '(a d c f =))
  14.  
  15. (defsym a '(ab cd df))
  16. (defsym b (append row '(bc def)))
  17. (defsym f '(b a f = cdf))
  18.  
  19. (setq rhy1 '(1/32))
  20. (setq rhy2 (vector-to-list (vector-round 12 384 
  21.                        (gen-sin 2 0.7 32 120))))
  22. (setq rhy3 (gen-loop '(1 4 3 2)'(24 36 48 60)))
  23. (setq rhy4 '(-1/4 1/8 1/8 1/8-5 1/8-5 1/8-5 1/8-5 1/8-5))
  24.  
  25. (setq mel1 (gen-trans a 2))
  26. (setq mel2 (gen-notrans b 2))
  27. (setq mel3 (gen-notrans f 2))
  28.  
  29. (setq mel4 (fill-template rhy2 (symbol-repeat 2 row)))
  30.  
  31. (setq vel1 '(112 96 84 72))
  32. (setq vel2 (vector-to-list (vector-round 30 120
  33.                               (gen-sin 2 0.7 32 120))))
  34. (setq vel3 (reverse (change-length times 2 rhy3)))
  35. (setq vel4 '(0 20 40 60 65 70 75 80))
  36.  
  37. (def-symbol
  38.     p1 mel1
  39.     p2 mel2
  40.     p3 mel3
  41.     p4 mel4
  42.     p5 mel3
  43. )
  44.  
  45. (def-length
  46.     p1 rhy4
  47.     p2 rhy2
  48.     p3 rhy3
  49.     p4 rhy1
  50.     p5 (append rhy4 rhy3 rhy2)
  51. )
  52.  
  53. (def-velocity
  54.     p1 vel4
  55.     p2 vel2
  56.     p3 vel3
  57.     p4 vel1
  58.     p5 (append vel4 vel3 vel2)
  59. )
  60.  
  61. (def-channel
  62.     p1 1
  63.     p2 2
  64.     p3 3
  65.     p4 4
  66.     p5 5
  67. )
  68.  
  69. (def-zone
  70.     tempo (symbol-repeat (length "- - ---    --  ---        -") '(1/2))
  71. )
  72.  
  73. (def-tempo '(124 120 116 118 120 122 130 60 40 50 60 70 80 80 90 100))
  74.  
  75. (def-program gm-sound-set
  76.     p1 ((61))
  77.     p2 ((12))
  78.     p3 ((67))
  79.     p4 ((1))
  80.     p5 ((14))
  81. )
  82.  
  83. (def-expression
  84.     p1 ((legato 140 20 0.4) (humanize 0 2 0.4) (velocity 20 0.4))
  85.     p2 ((legato 140 20 0.4) (humanize 0 2 0.4) (velocity 20 0.4))
  86.     p3 ((legato 140 20 0.4) (humanize 0 2 0.4) (velocity 20 0.4))
  87.     p4 ((legato 140 20 0.4) (humanize 0 2 0.4) (velocity 20 0.4))
  88.     p5 ((legato 140 20 0.4) (humanize 0 2 0.4) (velocity 20 0.4))
  89. )
  90.  
  91. (midiport :printer)
  92.  
  93. (compile-song-p "ccl;output:" 1/2 "study2"
  94.  
  95. ; BARS        |--|----|---|-|--|---|----|-|
  96.  
  97. p1 tonal1     "- - ---    --  ---        -"
  98. p2 chord1     " -     --          -----   "
  99. p3 chord2     "   -     --       -     -- "
  100. p4 chord3     "---           - --         "
  101. p5 tonal      "    ---   ---  -  - ----  -"
  102. )
  103.